/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package za.ac.cput.given.designpatterns.structural.facade;

/**
 *
 * @author bassoncj
 */
public class ClassFactory {
    private static ClassFactory classFactory = null;
    
    private ClassFactory(){
        
    }
    
    public synchronized static ClassFactory getInstance(){
        if(classFactory == null){
            classFactory = new ClassFactory();
        }
        return classFactory;
    }
    
    public Class1 getClass1(){
        return new Class1();
    }
    
    public Class2 getClass2(){
        return new Class2();
    }
    
    public Class3 getClass3(){
        return new Class3();
    }
    
    public Facade getFacade(){
        return new Facade();
    }
}
